/**
 * 三级错误处理
 * 1、网络错误, 包含断网，弱网等，断网会导致请求失败，弱网会导致请求超时
 * 2、系统错误, 通常由于后端服务不能正常提供响应导致，如服务下线
 * 3、接口错误, 指的是由于请求本身问题导致接口返回了错误响应
 * 
 * 这里解决超时的方法有两种方式：
 * a) 使用AbortController超时中断
 * b) 使用promise接管fetch响应，然后reject
 */
import { mapActions, mapMutations } from './store3.mapper'

const store = {
  state: {},
  mutations: {
    ...mapMutations({
      getUserSceneList: 'scenes',
      getUserScene: 'scene',
      getUserDeviceList: 'devices',
    })
  },
  actions: {
    ...mapActions([
      'getUserSceneList',
      'getUserScene',
      'getUserDeviceList',
    ])
  },
}

export default new Vuex.Store(store)